﻿#ifndef NEOBICALIBRO_H
#define NEOBICALIBRO_H

#include "stdafx.h"
#include <QWidget>

class NeoBiCalibroPrivate;
class NeoBiCalibro : public QWidget
{
  Q_OBJECT
  NEO_PUBLIC_CREATE(NeoBiCalibro)
  NEO_PUBLIC_PROPERTY_CREATE_NOTIFY_H(int, Value)
  NEO_PUBLIC_PROPERTY_CREATE_H(int, TickInterval)
  NEO_PUBLIC_PROPERTY_CREATE_H(int, MajorTickInterval)
  NEO_PUBLIC_PROPERTY_CREATE_H(int, TextTickInterval)
  NEO_PUBLIC_PROPERTY_CREATE_H(int, MinAngle)
  NEO_PUBLIC_PROPERTY_CREATE_H(int, MaxAngle)
  NEO_PUBLIC_PROPERTY_CREATE_H(bool, ShowNotches)
  NEO_PUBLIC_PROPERTY_CREATE_H(bool, ShowMarkers)
  NEO_PUBLIC_PROPERTY_CREATE_H(QColor, PointerColor)
  NEO_PUBLIC_PROPERTY_CREATE_H(QColor, BackgroundColor)
  NEO_PUBLIC_PROPERTY_CREATE_H(QColor, NotchColor)
  NEO_PUBLIC_PROPERTY_CREATE_H(QColor, MarkerColor)
public:
  NeoBiCalibro(QWidget *parent = nullptr);
  ~NeoBiCalibro();

public:
  void setAngleRange(int min, int max);

protected:
  void mousePressEvent(QMouseEvent *event) override;
  void mouseMoveEvent(QMouseEvent *event) override;
  void resizeEvent(QResizeEvent *event) override;
  void paintEvent(QPaintEvent *event) override;
};

#endif // NEOBICALIBRO_H
